Because:
guest_physmap_remove_page()
-> p2m_remove_page()
-> set_p2m_entry()
-> paging_write_p2m_entry()
-> shadow_write_p2m_entry()
And shadow_write_p2m_entry() calls sh_remove_all_*() fns.
Signed-off-by: Keir Fraser <keir@xensource.com>
if ( test_and_clear_bit(_PGC_allocated, &page->count_info) )
put_page(page);
- if ( unlikely((page->count_info & PGC_count_mask) != 1) )
- {
- shadow_drop_references(d, page);
- /* NB: still may have foreign references to the page at this stage */
- }
-
guest_physmap_remove_page(d, gmfn, mfn);
put_page(page);